26. Listener

Listener

主要监听 JavaWeb 中的事件。例如 ServletContext, HttpSession, ServletRequest 的创建,修改和删除。

Listener 可以监听对象的创建和销毁,监听对象的属性的变化,监听 Session 内的对象。更多示例

Listener 的启动优先级是大于过滤器的,即 Listener > Filter > Servlet

简单示例

下面创建一个 ServletContextListener。我们只需创建一个类,并且继承 ServletContextListener,并将类在 web.xml 中进行注册,那么这个监听器就生效了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.itguigu.listener;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class ApplicationListener implements ServletContextListener{

@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("application 销毁了!");
}

@Override
public void contextInitialized(ServletContextEvent sce) {
System.out.println("application 创建了!");
}
}
1
2
3
4
5
6
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<listener>
<listener-class>com.itguigu.listener.ApplicationListener</listener-class>
</listener>
</web-app>